package com.css.fxfzypg.base.user.repository;

import com.css.fxfzypg.base.user.repository.entity.UserEntity;
import com.css.fxfzypg.base.user.viewobjects.UserQueryParams;
import org.springframework.data.domain.Page;
import org.springframework.data.repository.query.Param;

import java.sql.Timestamp;
import java.util.List;
import java.util.Map;

public interface UserRepository {
    UserEntity findOneByUserCodeAndIsValid(String userCode, String isValid);

    UserEntity save(UserEntity userEntity);

    Page<UserEntity> getAllUserByParams(UserQueryParams queryParams);

    Map<String, Object> findUserBaseInfoVOByUserId(String userId);

    void deleteUsers(@Param(value = "ids") List<String> ids, @Param(value = "userId") String userId, @Param(value = "currentTimestamp") Timestamp currentTimestamp);

}
